package com.lanou3g.code0427.study;

import com.lanou3g.code0427.util.JDBCUtil;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

/**
 * If there are no bugs, it was created by Chen FengYao on 2018/4/27;
 * Otherwise, I don't know who created it either
 */

public class SQLTest {
    // 防止SQL注入
    public static void main(String[] args) {
        Connection conn = JDBCUtil.getConn();
        String sql = "SELECT * FROM users " +
                "WHERE username = ? AND psd = ?";
        try {
            // 为了 防止SQL注入
            // 要使用 Statement的子类
            // PreparedStatement
            // 它在使用的时候, sql 不需要拼接 字符串
            // 而是使用 ? 作为变量的占位符
            // 之后 调用 setXXX的方法 去为每个占位符设置内容
            PreparedStatement ps
                    = conn.prepareStatement(sql);
            // 1 代表 sql语句中的第一个 ?
            // "AA" 代表这个? 对应的值
            ps.setString(1,"Aa");
            ps.setString(2,"12345a6");

            ResultSet rs = ps.executeQuery();

            if (rs.next()){
                String word = rs.getString("word");
                System.out.println(word);
            }

        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
